package com.scut.online_black_market.service;

import com.scut.online_black_market.dto.ChangeImage;
import com.scut.online_black_market.dto.OrderResponse;
import com.scut.online_black_market.dto.ChangeNicknameAndAddress;
import com.scut.online_black_market.dto.RegisterRequest;
import com.scut.online_black_market.entity.Personal;
import com.scut.online_black_market.exception.RegisterException;
import com.scut.online_black_market.exception.UniversalException;
import com.scut.online_black_market.exception.VerifyCodeException;

import java.util.List;

public interface PersonalService {

    /**
     * 用户注册
     * @param registerRequest
     */
    void register(RegisterRequest registerRequest) throws VerifyCodeException, RegisterException;

    /**
     * 用户获取个人信息
     */
    Personal getPersonalInfo();

    /**
     * 用来改变用户头像
     * @param changeImage
     */
    void changePersonalImage(ChangeImage changeImage) throws UniversalException;

    /**
     * 查询用户历史订单
     * @return
     */
    List<OrderResponse> queryOrder();


    /**
     * @sw
     * 用来改变用户昵称,地址，校区
     * @param changeNickname
     */
    void changePersonalNicknameAndAddress(ChangeNicknameAndAddress changeNickname) throws UniversalException;

}
